package com.taptech.doufu.model.user

import com.taptech.doufu.bean.TagBean
import com.taptech.doufu.model.novel.bean.ImageBean
import java.io.Serializable

data class UserDetailBean (
        val following:Int = 0,
        val expInfo:ExpInfo = ExpInfo(),
        val userInfo: UserInfo = UserInfo(),
        val list:MutableList<ListItem> = mutableListOf(),
        val is_author:Int = 0,
        val readRecordStatus:Int = 0,
        val shareInfo:ShareBean = ShareBean()
)

class UserPosterBean:Serializable{
    var userInfo: UserInfo = UserInfo()
    var novelInfo:NovelBean = NovelBean()
    val shareUrl:String = "http://api.doufu.la"
    var length:Int = 0
    var fans_counts:Int = 0
    var isSignedAuthor:Boolean = false
}



data class UserDetailGson(
        val data:UserDetailBean
)

data class ExpInfo(
        val userId:Int = 0,
        val level_icon:String = "",
        val level:Int = 0,
        val is_vip:Int = 0,
        val is_year_vip:Int = 0
)

data class UserInfo(
        val uid:Int = 0,
        val nickname:String = "",
        val head_image:String = "",
        val user_signature:String = ""
):Serializable

data class ListItem(
        val type:Int = 0,
        val data:Any = 0,
        val count:Int = 0,
        val more_url: String = ""
)

/**
 * 作者统计
 */
data class SumInfo(
        val length: Int = 0,
        val fans_counts: Int = 0,
        val attentions_counts: Int = 0
):Serializable

/**
 * 粉丝统计
 */
data class FansInfo(
        val fans_counts:Int = 0,
        val attentions_counts:Int = 0
)


data class ShareBean(
        val recommend_text:String = "",
        val description:String = "",
        val title:String = "",
        val cover:String = "",
        val url:String = ""
)

/**
 * 小说
 */
data class NovelBean(
        var id:Int = 0,
        var topic_title:String = "",
        var length:Int = 0,
        var collect_times:Int = 0,
        var update_time:Long = 0,
        var article_num:Int = 0,
        var updateTip:String = "",
        var with_image: String = "",
        var with_image_w: String = "",
        var description: String = "",
        var tipTxt:String = "",
        var is_top:Long = 0,
        var pre_collect:Int = 0,
        var single_page:Int = 0,
        var tags:MutableList<TagBean> = mutableListOf()
):Serializable

data class NovelListBean(
        val count:Int = 0,
        val list:MutableList<NovelBean> = mutableListOf(),
        val more_url:String = ""
)

data class MedalBean(
        val name:String = "",
        val url:String = "",
        val url_l:String = ""
)

data class MedalListBean(
        val list:MutableList<MedalBean> = mutableListOf(),
        val count:Int = 0
)


data class UserBean(
        val uid:Int = 0,
        val nickname: String = "",
        val head_image: String = "",
        val medal:Int = 0
)

data class FansRankBean(
        val list:MutableList<FansRankItem> = mutableListOf()
)

data class FansRankItem(
        val fans_id:Int = 0,
        val fans_value:Int = 0,
        val ranking:Int = 0,
        val userInfo: UserInfo = UserInfo()
)

/**
 * 动态
 */
data class ActivityBean(
    val id:Int = 0,
    val add_time: Long = 0,
    val action:String = "",
    val content:String = "",
    val source:String = ""
)

/**
 * 文评
 */
data class ReviewBean(
        val id: Int = 0,
        val uid: Int = 0,
        val novel_id: Int = 0,
        val review:String = "",
        val star:Int = 0,
        val add_time:Long = 0,
        val comment_times:Int = 0,
        val praise_times:Int = 0,
        val status: Int = 0,
        val novelInfo:NovelBean = NovelBean()
)


/**
 * 帖子
 */
data class JournalBean(
        val id: Int = 0,
        val content:String = "",
        val created_at:String = "",
        val tags:MutableList<TagBean> = mutableListOf(),
        val images:MutableList<ImageBean> = mutableListOf()
)




